home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / basic / qbx.com / QBX206.DOC next >
Encoding:
Text File  |  1986-12-29  |  9.4 KB  |  241 lines

  1.  
  2.  
  3.   QBX - Quick Basic Cross Referencer                      Version 2.06
  4.         By Vernon D. Buerg                                Dec  4, 1986
  5.  
  6.  
  7.   Purpose
  8.   -------
  9.  
  10.         Determines cross references to alphanumeric labels and symbols
  11.         within a BASIC source program.
  12.  
  13.   Syntax
  14.   ------
  15.  
  16.         QBX [filename[.BAS]]  [/D]          [/Lnn]  [/Cnnn]
  17.                               [/P]
  18.                               [/F[(filename)]]
  19.                               [/N]
  20.  
  21.   Remarks
  22.   -------
  23.  
  24.         If no filename is supplied, you are prompted to enter the
  25.         file name of the BASIC source file. The source file must
  26.         have been saved in ASCII (,A) format. The program may contain
  27.         any valid combination of numeric and alphameric labels. The
  28.         syntax is dictated by the Microsoft Quick Basic Compiler manual
  29.         and the IBM BASIC, Version 3.1, manual.
  30.  
  31.         The source file may contain TAB characters but their use
  32.         may cause the listing to be mis-aligned.
  33.  
  34.         The output consists of a program listing and a cross-reference
  35.         listing. The destination for the listing may be specified in
  36.         the command as:
  37.  
  38.                 /D  display listings on the console display
  39.                 /P  print the listings on the LPT1: printer
  40.                 /F  write the listings to a file; may be supplied as (filename)
  41.                 /N  suppress all listings
  42.  
  43.         For example, /F(MYPROG.LST) sets a destination of a file with
  44.         the name MYPROG.LST. If no extension is supplied, .LST is used
  45.         for the program listing and .REF is used for the cross-reference
  46.         listing.
  47.  
  48.         If no destination parameter is supplied, you will be asked to supply
  49.         it.
  50.  
  51.         The number of lines per page may be suppied by the /L parameter,
  52.         for example /L66 sets a default of 66 lines per page.
  53.  
  54.         The number of columns per line may be supplied by the /C parameter,
  55.         for example /C132 sets a default of 133 columns per line.
  56.  
  57.  
  58.  
  59.   Meta Commands
  60.   -------------
  61.  
  62.         The source file may contain the meta commands described in
  63.         the Quick Basic (versions 1 or 2) manuals. These meta commands
  64.         are currently recognized:
  65.  
  66.                 $INCLUDE  - cause QBX to include the named file with
  67.                             the current source program, and may be nested
  68.                             to approximately 15 levels;
  69.                 $LINESIZE - sets the number of characters per page;
  70.                 $PAGESIZE - sets the number of program lines per page;
  71.  
  72.                 $PAGE     - forces a new listing page
  73.                 $SKIP     - inserts one blank line into the listing
  74.                 $SKIP:n   - inserts "n" blank lines into the listing
  75.                 $SUBTITLE - adds a subtitle to each listing page second line
  76.                 $TITLE    - adds a title to each listing page; if none
  77.                             are supplied, the title is "QBX"
  78.  
  79.   Operation
  80.   ---------
  81.  
  82.         There are two parts to the operation of QBX. The first phase
  83.         produces a program listing and builds the internal tables
  84.         representing the program's labels and symbols. The second
  85.         phase produces a label and a symbol cross reference.
  86.  
  87.         The output from each phase may be directed to the screen,
  88.         a printer (LPT1), a file, or nowhere. You are prompted for
  89.         the destination.
  90.  
  91.         The format of the listings is governed by two values: the
  92.         number of lines per page, and the number of columns per line.
  93.         You supply  both values. The defaults are 66 lines per page
  94.         and 80 columns. You may over-ride these values by using the
  95.         meta commands $PAGESIZE and $LINESIZE in the program. If the
  96.         console is used for output, the values are always set to 24
  97.         lines and 80 columns with an option at the end of each page
  98.         to pause or continue.
  99.  
  100.         You must set your printer to the appropriate lines and columns
  101.         values before running QBX. It does not send any printer codes.
  102.  
  103.         The internal tables contain the labels, symbols, and cross
  104.         reference information. The current limits are 2500 labels and
  105.         symbols, and approximately 16000 cross references (depends
  106.         upon the amount of memory available. There is also a limit
  107.         off 200 fields per statement. A field is a symbol, label,
  108.         delimiter, or operator. These values are summarized at the
  109.         end of program execution.
  110.  
  111. |       You may terminate processing by pressing the ESCape key.
  112.  
  113.  
  114.  
  115.   Version history
  116.   ---------------
  117.  
  118.         1.01-1.08, 1/17/86, the hack begins
  119.         1.09, 1/19/86
  120.          - fix Error6 in line 3440
  121.          - correct listing of long program lines
  122.          - add missing 30 keywords (oops)
  123.  
  124.         1.10, 1/19/86 - speed up analysis phase
  125.         1.11, 1/22/86 - correction for comments
  126.         1.12,1.13; 1/22/86 - revise symbol table lookup
  127.         1.14, 1/24/86 - implement meta commands
  128.         1.15, 1/27/86 - correct FIELD as labels
  129.         1.16,1.17, 1/28/86 - improve analysis routines
  130.  
  131.         1.18, 2/1/86
  132.          - externalize XREFS table to improve housekeeping time
  133.          - requires LINK QBX+XREF; followed by EXEPATCH to set x1800 max paras
  134.         1.19, 2/3/86
  135.          - optimize xref listing and external xref subroutines
  136.         1.20, 2/4/86
  137.          - add external UPC subroutine
  138.         1.21-1.23, 2/7/86
  139.          - add hash table for symbol look-up
  140.          - use binary search for keyword look-up
  141.         1.24-1.26, 2/8/86
  142.          - correct Error 6 at line 3900
  143.         1.27-1.28, 2/13/86
  144.          - remove UPC due to fouling meta commands
  145.          - clean up headings and titles
  146.  
  147.         1.29, 3/9/86 - correct EXEPATCH problem
  148.         1.30, 3/11/86 - correct Print function
  149.         1.31, 4/02/86 - print after parsing record
  150.         1.32, 4/08.86 - correct label case, correct tabs
  151.         1.33, 4/22/86 - correct page title positioning
  152.         1.34, 6/23/86 - increase maximum FIELDS to 200
  153.  
  154.         2.00, 7/18/86 - add QB 2.00 keywords
  155.         2.01, 9/27/86 - correct not finding labels with leading blanks
  156.  
  157.         2.02, 11/12/86
  158.           - Correct problem with $INCLUDE
  159.           - Correct error 52 at 3350 if don't want xref output
  160.           - expand label tables from 2000 to 2500
  161.           - supply documentation
  162.  
  163.         2.03, 11/17/86
  164.           - correct handling of continued lines (using underscore) which
  165.             are followed by comments
  166.           - correct handling of $TITLE; default title is now program name
  167.           - correct handling of lower case meta commands
  168.           - show name(s) of included files during first phase
  169.  
  170.         2.05, 11/28/86
  171.           - add command line options for destination, lines per page,
  172.             and columns per line
  173.           - improve detection of label versus symbol references for numbers
  174.           - note assignment to symbols by an asterisk in cross reference
  175.  
  176.         2.06, 12/06/86
  177.           - fix incorrect statment numbers in xref after labels
  178.           - remove duplicate references
  179.  
  180.  
  181.  
  182.   Notes
  183.   -----
  184.  
  185.         Copyright Vernon D. Buerg 1986.  All rights reserved.
  186.  
  187.         QBX was writen using the Microsoft Quick Basic Compiler,
  188.         Version 2.00, and one assembler subroutine. At least 128K
  189.         of memory is required, but 192K or more is recommended. The
  190.         additional memory is used to increase the limits of the numbers
  191.         of labels, symbols and cross references that QBX can process.
  192.  
  193.         QBX is for personal, private use and may be freely copied and
  194.         distributed. Please don't charge for it, modify it, or include
  195.         it with commercial goods or services. This was hard work.
  196.  
  197.         The source is available upon request and under my terms.
  198.  
  199.         Please direct your inquiries, complaints, suggestions, etc., to:
  200.  
  201.                         Vernon D. Buerg
  202.                         456 Lakeshire Drive
  203.                         Daly City, CA  94015
  204.  
  205.                         Data:        415-994-2944, 24 hour BBS
  206.                         Work:        415-991-0644, after 10 am Pacific time
  207.                         Compuserve:  70007,1212
  208.                         Fidonet:     125/4
  209.  
  210.  
  211.  
  212.  
  213.  
  214.          ----------------end-of-author's-documentation---------------
  215.  
  216.                         Software Library Information:
  217.  
  218.                    This disk copy provided as a service of
  219.  
  220.                         The Public (Software) Library
  221.  
  222.                   Disks in the library are updated monthly.
  223.          For a copy of the latest monthly software library newsletter
  224.           and a list of the 800+ disks in the library, call or write
  225.  
  226.                         The Public (Software) Library
  227.                             P.O.Box 35705, Rm. F
  228.                            Houston, TX 77235-5705
  229.                                (713) 721-6104
  230.  
  231.          We are not the authors of this program, nor are we associated
  232.          with the author in any way other than as a distributor of the
  233.          program in accordance with the author's terms of distribution.
  234.  
  235.          Please direct shareware payments and specific questions about
  236.          this program to the author of the program, whose name appears
  237.          elsewhere in  this documentation. If you have trouble getting
  238.          in touch with the author,  we will do whatever we can to help
  239.          you with your questions.
  240.  
  241.